gtk4.git
8 years agoRecorder: Show details of blur nodes
Matthias Clasen [Thu, 28 Sep 2017 23:48:42 +0000 (19:48 -0400)]
Recorder: Show details of blur nodes

8 years agorecorder: Show details for blend nodes
Matthias Clasen [Thu, 28 Sep 2017 23:40:03 +0000 (19:40 -0400)]
recorder: Show details for blend nodes

8 years agogsk: remove gsk_blend_node_get_blend_mode from public api
Matthias Clasen [Thu, 28 Sep 2017 23:39:16 +0000 (19:39 -0400)]
gsk: remove gsk_blend_node_get_blend_mode from public api

We don't have any other such getters in the public api at
this point, so leave this one out as well.

8 years agoRecorder: Show details of crossfade nodes
Matthias Clasen [Thu, 28 Sep 2017 23:20:25 +0000 (19:20 -0400)]
Recorder: Show details of crossfade nodes

8 years agorecorder: Show details for opacity nodes
Matthias Clasen [Thu, 28 Sep 2017 23:14:32 +0000 (19:14 -0400)]
recorder: Show details for opacity nodes

8 years agoRecorder: Show details of border nodes
Matthias Clasen [Thu, 28 Sep 2017 22:58:18 +0000 (18:58 -0400)]
Recorder: Show details of border nodes

8 years agorecorder: Put text color in the right row
Matthias Clasen [Thu, 28 Sep 2017 22:41:39 +0000 (18:41 -0400)]
recorder: Put text color in the right row

It ended up in the wrong place by accident.

8 years agoRecorder: Show colors visually for text too
Matthias Clasen [Thu, 28 Sep 2017 22:37:47 +0000 (18:37 -0400)]
Recorder: Show colors visually for text too

Just because we can do it.

8 years agoReshuffle the recorder ui a bit
Matthias Clasen [Thu, 28 Sep 2017 22:37:00 +0000 (18:37 -0400)]
Reshuffle the recorder ui a bit

Make it possible to see the properties and the rendering at
the same time, it makes navigating easier.

8 years agorecorder: Show surfaces and textures
Matthias Clasen [Thu, 28 Sep 2017 22:17:38 +0000 (18:17 -0400)]
recorder: Show surfaces and textures

This makes the properties list much more interesting.

8 years agorecorder: Show text node properties
Matthias Clasen [Thu, 28 Sep 2017 21:16:41 +0000 (17:16 -0400)]
recorder: Show text node properties

8 years agorecorder: show color information for color nodes
Matthias Clasen [Thu, 28 Sep 2017 19:08:08 +0000 (15:08 -0400)]
recorder: show color information for color nodes

A first step towards showing more information for render nodes.

8 years agoPlug some memory leaks
Timm Bäder [Thu, 28 Sep 2017 18:00:24 +0000 (20:00 +0200)]
Plug some memory leaks

Make sure the scroll controllers in GtkComboBox and GtkScrolledWindow
get destroyed.

8 years agoGdkEvent: OWNER_CHANGE events have a selection as well
Timm Bäder [Tue, 26 Sep 2017 16:22:27 +0000 (18:22 +0200)]
GdkEvent: OWNER_CHANGE events have a selection as well

8 years agoGdkEvent: Unref user_data in free
Timm Bäder [Tue, 26 Sep 2017 10:49:32 +0000 (12:49 +0200)]
GdkEvent: Unref user_data in free

gdk_event_set_user_data refs it and this was creating pretty bad leaks.

8 years agovulkan: Measure gpu time
Matthias Clasen [Thu, 28 Sep 2017 14:27:58 +0000 (10:27 -0400)]
vulkan: Measure gpu time

Since this value is only meaningful if we wait for the rendering
to end, we only keep this timer if GSK_RENDERING_MODE=sync is
enabled.

8 years agogsk: Change the profiler setup
Matthias Clasen [Thu, 28 Sep 2017 14:26:01 +0000 (10:26 -0400)]
gsk: Change the profiler setup

Move away from the idea of intra-frame sampling, since we only
push samples once per frame, anyway. Instead, make the profiler
keep a rolling average of the last n frames.

8 years agogsk: Redo the sampling in the profiler
Matthias Clasen [Thu, 28 Sep 2017 14:23:12 +0000 (10:23 -0400)]
gsk: Redo the sampling in the profiler

Reset the min/max/average counters before calculating,
and only print the values if we have samples. In addition,
print the number of samples.

8 years agogsk: Add a profile counter for vulkan render passes
Matthias Clasen [Thu, 28 Sep 2017 12:29:14 +0000 (08:29 -0400)]
gsk: Add a profile counter for vulkan render passes

This is interesting now that we have multiple render passes.

8 years agovulkan: Implement multiple render passes
Matthias Clasen [Thu, 28 Sep 2017 00:56:01 +0000 (20:56 -0400)]
vulkan: Implement multiple render passes

Whenever we need a node as a texture, we now start a new render
pass that renders the node into a new intermediate texture, and
set up a semaphore to make the current render pass wait for it.

As part of this reorganization, much of the setup and drawing
code moved from gskvulkanrender.c to gskvulkanrenderpass.c.

8 years agoAdd an api to get the vertex data for a render pass
Matthias Clasen [Thu, 28 Sep 2017 00:55:14 +0000 (20:55 -0400)]
Add an api to get the vertex data for a render pass

8 years agoAdd semaphores to the command buffer submit api
Matthias Clasen [Thu, 28 Sep 2017 00:09:35 +0000 (20:09 -0400)]
Add semaphores to the command buffer submit api

Allow to pass in semaphores to wait for before executing
and to signal after executing the command buffer. This
just exposes the capabilities of the underlying Vulkan
api. Update all callers to pass no semaphores, for now.

We will use this in the future.

8 years agoAdd an api to create intermediate textures
Matthias Clasen [Tue, 26 Sep 2017 23:12:20 +0000 (19:12 -0400)]
Add an api to create intermediate textures

The new function creates a vulkan image that is suitable for
use as a framebuffer to render to and as a texture to read from.

8 years agoinspector: Mark missing strings for translation
Piotr Drąg [Thu, 28 Sep 2017 12:01:57 +0000 (14:01 +0200)]
inspector: Mark missing strings for translation

8 years agoflowbox: Fix annotation for GListModel binding callback
Sam Thursfield [Mon, 25 Sep 2017 13:42:46 +0000 (14:42 +0100)]
flowbox: Fix annotation for GListModel binding callback

The GtkFlowBoxCreateWidgetFunc type lacked GObject Introspection
annotations for its arguments. This made gtk_flow_box_bind_model()
unusable from Python as the callback function would be passed useless
values.

The annotations that I've added match those of the similar callback
type GtkListBoxCreateWidgetFunc.

https://bugzilla.gnome.org/show_bug.cgi?id=780758

8 years agovulkan: Update the outset-shadow fragment shaders
Matthias Clasen [Tue, 26 Sep 2017 22:24:52 +0000 (18:24 -0400)]
vulkan: Update the outset-shadow fragment shaders

These were missing the blur-radius parameter that is written
by the vertex shader, causing Vulkan validation to complain.

8 years agogsk: Fix Vulkan validation errors for image upload
Matthias Clasen [Tue, 26 Sep 2017 22:18:31 +0000 (18:18 -0400)]
gsk: Fix Vulkan validation errors for image upload

I've finally figured out the right combination of src and dest
stage and access flags to make all validation warnings go away.
This commit only fixes the direct upload code.

8 years agogdk: Tone down Vulkan validation
Matthias Clasen [Tue, 26 Sep 2017 22:17:27 +0000 (18:17 -0400)]
gdk: Tone down Vulkan validation

Don't show informational messages by default, only warnings
and errors. This makes it much easier to see what is going
on.

8 years agogdk-wayland: Do not leak dummy 1x1 surface on every draw
Daniel Elstner [Tue, 26 Sep 2017 19:13:40 +0000 (21:13 +0200)]
gdk-wayland: Do not leak dummy 1x1 surface on every draw

When using EGL, neither leak nor re-create the dummy 1x1 Cairo
surface every time gdk_wayland_window_ensure_cairo_surface()
is called.

https://bugzilla.gnome.org/show_bug.cgi?id=775126

8 years agogsk: report fallback pixels as a profile counter
Matthias Clasen [Tue, 26 Sep 2017 01:02:21 +0000 (21:02 -0400)]
gsk: report fallback pixels as a profile counter

This makes the value show up in the inspector without
any extra work. We report the number per-frame, since
that makes the most sense.

8 years agogsk: Add a way to reset profiler counters
Matthias Clasen [Tue, 26 Sep 2017 00:58:10 +0000 (20:58 -0400)]
gsk: Add a way to reset profiler counters

It is often useful to count things per-frame, and reset
the counter afterwards.

8 years agovulkan: add a frame counter to the profiler
Matthias Clasen [Mon, 25 Sep 2017 22:37:22 +0000 (18:37 -0400)]
vulkan: add a frame counter to the profiler

This is just to match the gl renderer and to learn how
counters work.

8 years agoFix a typo
Matthias Clasen [Mon, 25 Sep 2017 21:53:54 +0000 (17:53 -0400)]
Fix a typo

8 years agogsk: Make profiler counters more useful
Matthias Clasen [Mon, 25 Sep 2017 21:03:06 +0000 (17:03 -0400)]
gsk: Make profiler counters more useful

Make it possible to have counters that get incremented
by values other than 1.

8 years agogsk: count fallback pixels
Matthias Clasen [Mon, 25 Sep 2017 13:25:29 +0000 (09:25 -0400)]
gsk: count fallback pixels

Always helps to have some measure of progress.

8 years agoGtkBuilder: Enforce "class" as a mandatory attribute for <object>
Debarshi Ray [Mon, 18 Sep 2017 16:28:55 +0000 (18:28 +0200)]
GtkBuilder: Enforce "class" as a mandatory attribute for <object>

https://bugzilla.gnome.org/show_bug.cgi?id=786931

8 years agogsk: Some g-i annotation fixes
Rico Tzschichholz [Mon, 25 Sep 2017 09:15:14 +0000 (11:15 +0200)]
gsk: Some g-i annotation fixes

8 years agogsk: Documentation additions
Matthias Clasen [Mon, 25 Sep 2017 01:53:54 +0000 (21:53 -0400)]
gsk: Documentation additions

Document newly added apis, and ensure that all public apis
are listed in the docs.

8 years agoPlug a memory leak
Matthias Clasen [Mon, 25 Sep 2017 01:34:53 +0000 (21:34 -0400)]
Plug a memory leak

A function with ensure in the name would better check if the
thing it is supposed to ensure already exists.

8 years agoLabel: Replace allow-none with nullable/optional
Daniel Boles [Sun, 24 Sep 2017 11:02:54 +0000 (12:02 +0100)]
Label: Replace allow-none with nullable/optional

8 years agoemojichooser: Plug a memory leak
Timm Bäder [Sun, 24 Sep 2017 16:15:41 +0000 (18:15 +0200)]
emojichooser: Plug a memory leak

8 years agoFix broken translations of 'calendar:' settings (ignored translator comments)
Andre Klapper [Sat, 23 Sep 2017 21:42:31 +0000 (23:42 +0200)]
Fix broken translations of 'calendar:' settings (ignored translator comments)

8 years agogsk: Fix a prefix mishap
Matthias Clasen [Sat, 23 Sep 2017 17:15:30 +0000 (13:15 -0400)]
gsk: Fix a prefix mishap

There shouldn't be any gst_ functions in here...

8 years agoCosmetics
Matthias Clasen [Sat, 23 Sep 2017 13:47:05 +0000 (09:47 -0400)]
Cosmetics

Go back to a single GskVulkanOpRender that can
handle 0, 1 or 2 sources.

8 years agovulkan: Implement nonseparable blendmodes
Matthias Clasen [Sat, 23 Sep 2017 12:59:06 +0000 (08:59 -0400)]
vulkan: Implement nonseparable blendmodes

This is a directly-from-the-spec, unoptimized implementation.

8 years agovulkan: Implement blend modes
Matthias Clasen [Sat, 23 Sep 2017 05:59:50 +0000 (01:59 -0400)]
vulkan: Implement blend modes

This is another example for a 2-texture shader.
So far, only separable blend modes are implemented.
The implementation is not optimized, with an
if-else cascade in the shader.

8 years agovulkan: fix a clip handling problem
Matthias Clasen [Fri, 22 Sep 2017 22:48:36 +0000 (18:48 -0400)]
vulkan: fix a clip handling problem

We were looking at uninitialized memory here, instead
of the type of the source clip, as we should.

This showed up as mispositioned clip in the first frame
of a crossfade stack transition, and also as overdraw in
sliding stack transitions.

8 years agovulkan: Implement crossfade
Matthias Clasen [Fri, 22 Sep 2017 18:20:57 +0000 (14:20 -0400)]
vulkan: Implement crossfade

This is the first shader using two textures. It almost works.

8 years agovulkan: Drop GskVulkanPipelineLayout
Matthias Clasen [Fri, 22 Sep 2017 17:30:26 +0000 (13:30 -0400)]
vulkan: Drop GskVulkanPipelineLayout

We already move the descriptor set layout out of it,
so we can just as well keep the pipeline layouts in
the render object as well, and get rid of this extra
object. Update all callers.

8 years agoAllow different pipeline layouts
Matthias Clasen [Fri, 22 Sep 2017 14:35:19 +0000 (10:35 -0400)]
Allow different pipeline layouts

These are differentiated by the number of textures; currently
we have shaders with 0 and 1 textures.

8 years agoAdd a getter to the pipeline layout directly from the pipeline
Matthias Clasen [Fri, 22 Sep 2017 14:13:25 +0000 (10:13 -0400)]
Add a getter to the pipeline layout directly from the pipeline

This is a step towards allowing multiple pipeline layouts.

8 years agovulkan: Move descriptor set layout to the render object
Matthias Clasen [Fri, 22 Sep 2017 14:02:27 +0000 (10:02 -0400)]
vulkan: Move descriptor set layout to the render object

We want to maintain a single descriptor set layout while introducing
multiple pipeline layouts, so split this off.

8 years agoUpdate Persian translations
Arash Mousavi [Fri, 22 Sep 2017 19:24:21 +0000 (22:54 +0330)]
Update Persian translations

8 years agogdk: Add g-i annotations for new event getters
Rico Tzschichholz [Thu, 21 Sep 2017 12:07:11 +0000 (14:07 +0200)]
gdk: Add g-i annotations for new event getters

8 years agoFix a typo
Matthias Clasen [Fri, 22 Sep 2017 00:31:48 +0000 (20:31 -0400)]
Fix a typo

8 years agoDrop gail-4.0.pc.in
Emilio Pozuelo Monfort [Thu, 21 Sep 2017 18:34:26 +0000 (20:34 +0200)]
Drop gail-4.0.pc.in

libgail is gone.

8 years agogsk: vulkan: Drop an unused api
Matthias Clasen [Thu, 21 Sep 2017 17:47:17 +0000 (13:47 -0400)]
gsk: vulkan: Drop an unused api

We don't use the upload-single-region api anymore.
No need to keep it around.

8 years agovulkan: Batch uploads from the glyph cache
Matthias Clasen [Thu, 21 Sep 2017 17:45:01 +0000 (13:45 -0400)]
vulkan: Batch uploads from the glyph cache

This uses the new api that was introduced in the previous
commit.

8 years agovulkan: Add an api to update multiple image regions
Matthias Clasen [Thu, 21 Sep 2017 17:42:57 +0000 (13:42 -0400)]
vulkan: Add an api to update multiple image regions

Instead of doing multiple copy commands with a tiny buffer
for each glyph, we can just batch them all together. This
also avoids the issue of creating multiple barriers for the
same image.

8 years agovulkan: Quiet another validation warning
Matthias Clasen [Thu, 21 Sep 2017 16:05:00 +0000 (12:05 -0400)]
vulkan: Quiet another validation warning

It complains if a vertex shader has an out that is not matched
to an in of the fragment shader.

8 years agovulkan: Quiet another validation error
Matthias Clasen [Thu, 21 Sep 2017 03:46:16 +0000 (23:46 -0400)]
vulkan: Quiet another validation error

8 years agoCosmetic change
Matthias Clasen [Thu, 21 Sep 2017 01:16:45 +0000 (21:16 -0400)]
Cosmetic change

8 years agogsk: Make repeat nodes deserializable
Matthias Clasen [Thu, 21 Sep 2017 01:16:09 +0000 (21:16 -0400)]
gsk: Make repeat nodes deserializable

This was just a simple oversight.

8 years agogsk: Fix serialization of text nodes
Matthias Clasen [Thu, 21 Sep 2017 01:00:33 +0000 (21:00 -0400)]
gsk: Fix serialization of text nodes

8 years agoAdd simple aging for the glyph cache
Matthias Clasen [Wed, 20 Sep 2017 21:52:40 +0000 (17:52 -0400)]
Add simple aging for the glyph cache

This should prevent the cache from growing out of bounds.

8 years agogsk vulkan: Use new api in the glyph cache
Lionel Landwerlin [Wed, 20 Sep 2017 23:12:16 +0000 (19:12 -0400)]
gsk vulkan: Use new api in the glyph cache

Use the newly introduced gsk_vulkan_image_new_for_atlas.

8 years agogsk: vulkan: rework image layout/access transitions
Lionel Landwerlin [Wed, 20 Sep 2017 23:11:42 +0000 (19:11 -0400)]
gsk: vulkan: rework image layout/access transitions

By tracking the last transition we can build the appropriate barriers.
Also use the most appropriate initial layout/access at creation :

for linear image : predefined (we prepare the content ourself through memcpy)
for everything else : undefined (we don't care about the content, will most likely be erase)

8 years agogsk: vulkan: silence anisotropy validation warning
Lionel Landwerlin [Wed, 20 Sep 2017 17:41:09 +0000 (18:41 +0100)]
gsk: vulkan: silence anisotropy validation warning

8 years agoglyph cache: Upload glyphs incrementally
Matthias Clasen [Wed, 20 Sep 2017 14:02:29 +0000 (10:02 -0400)]
glyph cache: Upload glyphs incrementally

This does not work yet.

8 years agovulkan: pass the context when creating a glyph cache
Matthias Clasen [Wed, 20 Sep 2017 14:01:58 +0000 (10:01 -0400)]
vulkan: pass the context when creating a glyph cache

8 years agovulkan: Add an upload_region api to GskVulkanImage
Matthias Clasen [Wed, 20 Sep 2017 14:00:48 +0000 (10:00 -0400)]
vulkan: Add an upload_region api to GskVulkanImage

This will let us update larger textures incrementally.
Sadly, it does not work yet.

8 years agoAdd some debug output for the glyph cache
Matthias Clasen [Wed, 20 Sep 2017 03:59:44 +0000 (23:59 -0400)]
Add some debug output for the glyph cache

Print out some statistics and dump the glyph caches to a png,
for now.

8 years agoMake the glyph cache grow as needed
Matthias Clasen [Wed, 20 Sep 2017 03:32:07 +0000 (23:32 -0400)]
Make the glyph cache grow as needed

Make it possible to have more than one texture in the
glyph cache, and create new ones when we run out of space
in the existing ones.

8 years agovulkan: Move glyph cache to a separate file
Matthias Clasen [Tue, 19 Sep 2017 23:32:04 +0000 (19:32 -0400)]
vulkan: Move glyph cache to a separate file

Otherwise things will get too messy.

8 years agovulkan: Better glyph cache api
Matthias Clasen [Tue, 19 Sep 2017 22:53:32 +0000 (18:53 -0400)]
vulkan: Better glyph cache api

Move the glyph caching api to something that can support using
multiple textures. We now split the text render ops into multiple
ops for different textures, and make each op render just a substring
of the text node's glyph string.

8 years agoToolItem: Fix nullable annotation put on wrong arg
Daniel Boles [Wed, 20 Sep 2017 22:53:54 +0000 (23:53 +0100)]
ToolItem: Fix nullable annotation put on wrong arg

D’oh

8 years agogdkseatdefault: Grab touch events where applicable
Daniel Boles [Tue, 5 Sep 2017 14:44:00 +0000 (15:44 +0100)]
gdkseatdefault: Grab touch events where applicable

gdk_seat_default_grab() grabs POINTER_EVENTS if the capability is
GDK_SEAT_CAPABILITY_ALL_POINTING. But that enumerator is a union that
includes GDK_SEAT_CAPABILITY_TOUCH, but we never grabbed TOUCH_EVENTS,
an unused macro that was presumably created with this purpose in mind.

So, check which of the ALL_POINTING capabilities we have, and set the
right mask of POINTER_EVENTS and/or TOUCH_EVENTS as required.

As part of this, explicitly let TABLET_STYLUS take over pointer events,
as this is the intended behaviour and was the effective result before.

This should fix touch events being lost in migrating from Device.grab()
to Seat.grab(GDK_SEAT_CAPABILITY_ALL_POINTING), as found by Inkscape.

https://bugzilla.gnome.org/show_bug.cgi?id=781757

8 years agoOverlay: Document style classes added per position
Daniel Boles [Wed, 20 Sep 2017 16:34:43 +0000 (17:34 +0100)]
Overlay: Document style classes added per position

8 years agoUpdate POTFILES.in
Piotr Drąg [Tue, 19 Sep 2017 17:49:39 +0000 (19:49 +0200)]
Update POTFILES.in

8 years agogtkmain: Ensure to emit real GDK_LEAVE_NOTIFY events.
Carlos Garnacho [Tue, 19 Sep 2017 16:18:07 +0000 (18:18 +0200)]
gtkmain: Ensure to emit real GDK_LEAVE_NOTIFY events.

If we got a GDK_LEAVE_NOTIFY event from GDK, we would reset the
GtkPointerFocus, but the event would be silently consumed.

8 years agogdk/x11: Implement GDK_CROSSING_TOUCH_BEGIN/END/DEVICE_CHANGE events
Carlos Garnacho [Tue, 19 Sep 2017 16:14:53 +0000 (18:14 +0200)]
gdk/x11: Implement GDK_CROSSING_TOUCH_BEGIN/END/DEVICE_CHANGE events

The behavior where a touchpoint takes over the pointer position is
really backend dependent. Since this went away from the generic code,
implement it here.

8 years agogdk: Remove remainings of fake crossing event delivery across touch
Carlos Garnacho [Fri, 15 Sep 2017 17:50:01 +0000 (19:50 +0200)]
gdk: Remove remainings of fake crossing event delivery across touch

This was by all lights broken, and is basically an implementation detail
of the X11 backend since the pointer emulating touch just steals the pointer
cursor, so should be reimplemented there.

8 years agogdk: Coalesce 2 GdkWindow fields in GdkPointerWindowInfo struct
Carlos Garnacho [Fri, 15 Sep 2017 17:39:18 +0000 (19:39 +0200)]
gdk: Coalesce 2 GdkWindow fields in GdkPointerWindowInfo struct

One used to point to the toplevel and the other to the client-side window
that the pointer pointed to. The latter was made to be like the former in
most places, so put those together, and fix the remaining cases where the
variable might not end up with a toplevel/native window.

8 years agogdk: Remove unused variable
Carlos Garnacho [Fri, 15 Sep 2017 17:23:14 +0000 (19:23 +0200)]
gdk: Remove unused variable

It was supporting API that has been removed.

8 years agogdk: Remove implicit touch grab accounting
Carlos Garnacho [Fri, 15 Sep 2017 17:12:10 +0000 (19:12 +0200)]
gdk: Remove implicit touch grab accounting

This is not necessary now that there's no client-side windows to track.
The only removed piece that could make sense is emission of grab broken
events, but it's already an stretch since the semantics of those with
multi-touchpoint is unclear.

Anyhow, This should be fixed at the GTK level, while we let GDK deal with
seat/device level grabs.

8 years agogdk: Remove motion hints
Carlos Garnacho [Fri, 15 Sep 2017 16:58:50 +0000 (18:58 +0200)]
gdk: Remove motion hints

Motion hints are now literally a thing of the past. Everything should be
using the full motion event stream.

8 years agogdk: Drop generation of synthesized crossing events on grabs
Carlos Garnacho [Fri, 15 Sep 2017 16:31:18 +0000 (18:31 +0200)]
gdk: Drop generation of synthesized crossing events on grabs

GDK just needs to care about toplevels nowadays, which means these events
are already delivered from the windowing. We don't need to generate
intra-window crossing events ourselves.

8 years agogtk: Remove 2BUTTON and 3BUTTON events and event types
Carlos Garnacho [Fri, 15 Sep 2017 15:34:06 +0000 (17:34 +0200)]
gtk: Remove 2BUTTON and 3BUTTON events and event types

Those should be interpreted by widget-local gestures, not guessed at a
high level with no notions of the specific context. Users will want
GtkGestureMultiPress to replace these events.

8 years agogdk: Remove array of event masks
Carlos Garnacho [Fri, 15 Sep 2017 15:41:49 +0000 (17:41 +0200)]
gdk: Remove array of event masks

This has been unused since all events are just forwarded instead of
checking client-side windows evmasks.

8 years agogtklistbox: Remove enter/leave/motion event handlers
Carlos Garnacho [Fri, 15 Sep 2017 14:48:13 +0000 (16:48 +0200)]
gtklistbox: Remove enter/leave/motion event handlers

Those worked similarly to those in GtkFlowBox, but would additionally
handle "active" state for child rows. Simplify this to just enabling/
disabling active state on gesture press/release, we don't get the
nice state updates when hovering around with a mouse button pressed,
but the rationale from flowbox applies here, and makes a nice cleanup.

8 years agogtkcolorswatch: Remove enter/leave event handlers
Carlos Garnacho [Fri, 15 Sep 2017 14:32:35 +0000 (16:32 +0200)]
gtkcolorswatch: Remove enter/leave event handlers

Those just maintained prelight state, which is already managed internally.

8 years agogtkbutton: Remove enter/leave event handlers
Carlos Garnacho [Fri, 15 Sep 2017 14:28:37 +0000 (16:28 +0200)]
gtkbutton: Remove enter/leave event handlers

They just maintain priv->in_button and widget state up-to-date, this
basically matters during user interaction, and is already maintained
in the gesture ::update handler. This seems to be sufficient.

8 years agogtkflowbox: Drop crossing/motion event handlers
Carlos Garnacho [Fri, 15 Sep 2017 14:16:24 +0000 (16:16 +0200)]
gtkflowbox: Drop crossing/motion event handlers

Those basically controlled priv->active_child_active, which would
1) trigger a redraw when the pointer enters/leaves it, and 2) ensure
that press/release happen on the same child for it to be activated.

The former is not necessary, and the latter can be simplified by
just checking again the child on the coordinates given by the
::release gesture handler. This makes all enter/leave/motion_notify
event handlers unneeded.

8 years agogtkspinbutton: Remove motion notify handler
Carlos Garnacho [Fri, 15 Sep 2017 13:05:40 +0000 (15:05 +0200)]
gtkspinbutton: Remove motion notify handler

It does nothing nowadays.

8 years agogtkcalendar: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 12:55:19 +0000 (14:55 +0200)]
gtkcalendar: Use scroll event controller

8 years agogtkscrolledwindow: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:55:23 +0000 (13:55 +0200)]
gtkscrolledwindow: Use scroll event controller

All kinetic scrolling initial velocity calculations are now
taken from the scroll controller. The handling of timeouts
to snap back when overshooting has been also made to just
apply on devices that can't emit ::scroll-begin/end.

8 years agogtkspinbutton: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:54:38 +0000 (13:54 +0200)]
gtkspinbutton: Use scroll event controller

8 years agogtkscalebutton: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:54:20 +0000 (13:54 +0200)]
gtkscalebutton: Use scroll event controller

8 years agogtkrange: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:53:59 +0000 (13:53 +0200)]
gtkrange: Use scroll event controller

8 years agogtkpathbar: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:53:43 +0000 (13:53 +0200)]
gtkpathbar: Use scroll event controller